package com.lck.blogmanager.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lck.blogmanager.entity.FileEntity;
import com.lck.blogmanager.req.*;
import com.lck.blogmanager.res.FileDetailRes;
import com.lck.blogmanager.res.FilePageRes;
import com.lck.blogmanager.res.UserFileDetailRes;
import com.lck.blogmanager.res.UserPageFileRes;

public interface FileService extends IService<FileEntity> {

    Integer addFile(AddFileReq req);

    void userDeleteFile(DeleteFileReq req);

    Page<UserPageFileRes> userPageFile(UserPageFileReq req);

    UserFileDetailRes userFileDetail(Integer fileId);

    Page<FilePageRes> pageFile(FilePageReq req);

    FileDetailRes detail(Integer fileId);

    void auditFile(AuditFileReq req);

    void likeFile(Integer fileId);

    void collectFile(Integer fileId);

    void downloadCount(String path);

    void userUpdateFile(UpdateFileReq req);
}
